package com.liqi.deployment.mapper;

import com.liqi.deployment.domain.DvDeploymentModule;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 部署设备模块Mapper接口
 *
 * @author xiaoli
 * @date 2022-02-14
 */
@Component
public interface DvDeploymentModuleMapper
{
    public List<DvDeploymentModule> selectDvDeploymentModuleByDeviceId(String deviceId);
    /**
     * 查询部署设备模块
     *
     * @param id 部署设备模块主键
     * @return 部署设备模块
     */
    public DvDeploymentModule selectDvDeploymentModuleById(Long id);

    /**
     * 根据模块编码 查询部署设备模块
     *
     * @param modelCode 部署设备模块 模块编码
     * @return 部署设备模块
     */
    public List<DvDeploymentModule> selectDvDeploymentModuleByModelCode(String modelCode);

    /**
     * 查询部署设备模块列表
     *
     * @param DvDeploymentModule 部署设备模块
     * @return 部署设备模块集合
     */
    public List<DvDeploymentModule> selectDvDeploymentModuleList(DvDeploymentModule DvDeploymentModule);

    /**
     * 新增部署设备模块
     *
     * @param DvDeploymentModule 部署设备模块
     * @return 结果
     */
    public int insertDvDeploymentModule(DvDeploymentModule DvDeploymentModule);

    /**
     * 修改部署设备模块
     *
     * @param DvDeploymentModule 部署设备模块
     * @return 结果
     */
    public int updateDvDeploymentModule(DvDeploymentModule DvDeploymentModule);
    
    /**
     * 根据deviceId和模块编码修改部署设备模块
     *
     * @param DvDeploymentModule 部署设备模块
     * @return 结果
     */
    public int updateDeploymentModuleByDeviceIdAndModuleCode(DvDeploymentModule DvDeploymentModule);

    /**
     * 删除部署设备模块
     *
     * @param id 部署设备模块主键
     * @return 结果
     */
    public int deleteDvDeploymentModuleById(Long id);

    /**
     * 批量删除部署设备模块
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDvDeploymentModuleByIds(Long[] ids);

    /**
     * 删除部署设备模块(根据deviceId)
     *
     * @param deviceId 部署设备模块主键
     * @return 结果
     */
    public int deleteDvDeploymentModuleByDeviceId(String deviceId);

}
